#ifndef RAT_WINDOWMANAGER_H
#define RAT_WINDOWMANAGER_H

#include <vector>
#include <string>
#include <fstream>
#include <iostream>
#include <cstdlib>
#include <sstream>

#include "RAT_SceneManager.h"
#include "RAT_Window.h"

namespace RAT_ENGINE
{
	class RAT_WindowManager
	{
	public:
		RAT_WindowManager();
		~RAT_WindowManager();

		void Init(RAT_SceneManager* argSceneManager, std::string argWindowsFileURL);
		void CleanUp();

		RAT_Window* GetWindow(int argIndex) const;
		std::vector<RAT_Window*> GetWindows() const;
		RAT_SceneManager* GetSceneManager() const;

		void AddWindow(RAT_Window* argWindow);

		void PrintIO() const;

	private:
		std::vector<RAT_Window*> windows;

		RAT_SceneManager* sceneManager;

		void LoadWindow(std::string argWindowURL);
	};
}

#endif